//
//  StatusRetweetedCell.swift
//  Sina
//
//  Created by maling  on 15/11/11.
//  Copyright © 2015年 maling . All rights reserved.
//

import UIKit

class StatusRetweetedCell: StatusCellTableViewCell {

 /// 转发微博视图模型
    /// 如果继承父类的属性
    /**
       1. 需要override
       2. 不需要写 super
       3. 先执行父类的didSet 在执行子类的didSet -》只关心子类的 的相关设置就够了
    */
    override var viewModel: StatusViewModel? {
    
        didSet {
        
            // 设置显示转发微博的文字
            retWeetedLabel.text = viewModel?.retweetedText
            
            
            // 动态测试配图的视图 - 实际开发中需要注意 如果动态修改约束的高度
            // 很可能会导致行高计算有误
            pictureView.snp_updateConstraints { (make) -> Void in
            // MARK: 根据有没有配图确定微博正文和底部的间距
            let offSet = viewModel?.thumbnailUrls?.count > 0 ? statusCellMargin : 0
            make.top.equalTo(retWeetedLabel.snp_bottom).offset(offSet)
            
        }
      }
    }
    
    
    //MARK: - 懒加载控件
/// 背景按钮
    private lazy var backButton: UIButton = {
        let button = UIButton()
        
        button.backgroundColor = UIColor(white: 0.95, alpha: 1)
        return button
        }()
/// 转发标签
    private lazy var retWeetedLabel: UILabel = UILabel(
        title: "转发微博咯~转发微博咯~转发微博咯~转发微博咯~转发微博咯~转发微博咯~转发微博咯~转发微博咯~转发微博咯~",
        fontSize: 14,
        color: UIColor.darkGrayColor(),
        screenInset: statusCellMargin) // 设置这种文本左对齐
    
}

// MARK: - 设置界面
extension StatusRetweetedCell {

    // 因为是继承自父类 所以要重写父类的 setupUI() 方法设置控件
    override func setupUI() {
       // 调用父类的setupUI方法
        super.setupUI()
        
        // 1. 添加控件
        contentView.insertSubview(backButton, belowSubview: pictureView)
        contentView.insertSubview(retWeetedLabel, aboveSubview: backButton)
        
        
        // 2. 设置自动布局
        // 1> 背景按钮
        backButton.snp_makeConstraints { (make) -> Void in
            make.top.equalTo(contentLabel.snp_bottom).offset(statusCellMargin)
            make.left.equalTo(contentView.snp_left)
            make.right.equalTo(contentView.snp_right)
            make.bottom.equalTo(bottomView.snp_top)
        
       }
        
        
        // 2> 设置转发标签
        retWeetedLabel.snp_makeConstraints { (make) -> Void in
            make.top.equalTo(contentLabel.snp_bottom).offset(statusCellMargin * 2)
            make.left.equalTo(contentLabel.snp_left)    //.offset(statusCellMargin)
        }
        // 3> 设置配图
        pictureView.snp_makeConstraints { (make) -> Void in
            make.top.equalTo(retWeetedLabel.snp_bottom).offset(statusCellMargin)
            make.left.equalTo(retWeetedLabel.snp_left)
            make.width.equalTo(300)
            make.height.equalTo(90)
        }
  }
}